package com.zxl.register.server.config;

import lombok.Data;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 * 注册中心的配置项
 */
@Data
public class RegisterServerConfig {

    /**
     * 端口号
     */
    private int port;

    /**
     * 服务检查周期 (毫秒)
     */
    private long period;

    /**
     * 心跳超时时长
     */
    private long timeOut;


    /**
     * 服务提供方式： 0：轮询，1：随机， 2:权重优先.
     */
    private int offerWay;

    public static  RegisterServerConfig instance=new RegisterServerConfig();

    RegisterServerConfig(){
        try {
            init();
        } catch (IOException e) {
            e.printStackTrace();
            System.exit(-1);
        }
    }

    public void init() throws IOException {
        //创建资源对象
        Properties pp=new Properties();
        //创建资源文件输入流
        InputStream fis=ClassLoader.getSystemClassLoader().getResourceAsStream("application.properties");
        //将输入流加载进资源对象
        pp.load(fis);
        port=Integer.valueOf(pp.getProperty("register.server.port"));
        period=Long.valueOf(pp.getProperty("register.server.period"));
        timeOut=Long.valueOf(pp.getProperty("register.server.timeout"));
        offerWay=Integer.valueOf(pp.getProperty("register.server.offerway"));
    }



    public static RegisterServerConfig getInstance(){
        return instance;
    }


}
